home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-20 / 4ms200.zip / 4MS200.BAS next >
BASIC Source File  |  1990-12-01  |  11KB  |  218 lines

  1. 1000 DEFINTN-Z:MAXFILES=4:CLEAR2500:DIMP(12),V$(3),M0$(3),MC$(3),MN$(3),Z(3),CN$(90):OPEN"com:78N2D"FOROUTPUTAS1:OPEN"com:78N1D"FORINPUTAS2:ONERRORGOTO4290:OPEN"MEMFLE.DO"FORINPUTAS3
  2. 1004 FORN=0TO89:INPUT#3,CN$(N):NEXT:CLOSE3
  3. 1005 Z0$=STRING$(38,"z"):A0$=STRING$(14,"z"):B0$=A0$:M0$=STRING$(24,"z"):M1$=M0$:SW=1:PM=0:PQ=0:QM=1
  4. 1010 V$(0)=SPACE$(14)+CHR$(27)+"pVA"+CHR$(27)+"q":V$(1)=SPACE$(14)+CHR$(27)+"pVB"+CHR$(27)+"q":V$(2)=SPACE$(20):V$(3)=V$(2):R=1
  5. 1015 CLS:LINE(3,3)-(237,61),1,B:LINE(9,9)-(231,55),1,B:PRINT@88,"440 MINI-SPOILER, V2.0":PRINT@124,"Copyright 1990, QSO2000 PROJECT";:PRINT@171,"5518 12th Street";:PRINT@211,"Lubbock, TX 79416"
  6. 1020 PRINT#1,"IF;";:Z$=INPUT$(38,2):F$=MID$(Z$,31,1):F=VAL(F$)
  7. 1025 IFF=2THEN1030ELSEMN$(F)=MID$(Z$,30,1):PRINT#1,"FN"+RIGHT$(STR$(1-F),1)+";";:PRINT#1,"IF;";:ZT$=INPUT$(38,2):MN$(1-F)=MID$(ZT$,30,1):PRINT#1,"FN"+F$+";";:GOTO1035
  8. 1030 PRINT#1,"FN0;";:PRINT#1,"IF;";:ZT$=INPUT$(38,2):MN$(0)=MID$(ZT$,30,1):PRINT#1,"FN1;":PRINT#1,"IF;";:ZT$=INPUT$(38,2):MN$(1)=MID$(ZT$,30,1):PRINT#1,"FN"+F$+";"
  9. 1035 SP$=MID$(ZT$,33,1):ZT$="":PRINT#1,"AI1;";:PN=-1
  10. 1100 IFQM=1THEN1155
  11. 1105 A$=INKEY$:IFA$=""THEN1155ELSEP$=CHR$(30)+CHR$(31)+CHR$(20)+CHR$(2):GOSUB4217
  12. 1110 ONPGOTO1120,1125,1135,1145
  13. 1115 GOTO1155
  14. 1120 IFPM=0THEN1122ELSEPRINT@61+PM*40,CN$(PM+PQ):PM=(PM+4)MOD5:GOTO1130
  15. 1122 PQ=PQ-1:IFPQ<0THENPQ=0
  16. 1123 GOTO1128
  17. 1125 IFPM=4THEN1127ELSEPRINT@61+PM*40,CN$(PM+PQ):PM=(PM+1)MOD5:GOTO1130
  18. 1127 PQ=PQ+1:IFPQ>85THENPQ=85
  19. 1128 GOSUB4050
  20. 1130 PRINT@61+PM*40,CHR$(27)+"p"+CN$(PM+PQ)+CHR$(27)+"q":GOTO1155
  21. 1135 PQ=PQ-5:IFPQ<0THENPQ=0
  22. 1140 GOTO1150
  23. 1145 PQ=PQ+5:IFPQ>85THENPQ=85
  24. 1150 GOSUB4050
  25. 1155 COMON:ONCOMGOSUB1200:COMSTOP:KEYON:ONKEYGOSUB2000,2200,2205,2400,2600,2800,3000,3200:KEYSTOP
  26. 1165 IFQT%=0THEN1100ELSEPRINT#1,"AI0;";:CLOSE:COMOFF:KEYOFF:CLS:END
  27. 1200 COMOFF
  28. 1205 FORN=1TO12:P(N)=0:NEXT
  29. 1210 Z$=INPUT$(38,2):IFZ$=Z0$THEN1275
  30. 1215 FORN=6TO33
  31. 1220 IFMID$(Z$,N,1)=MID$(Z0$,N,1)THEN1265
  32. 1225 IFN>=6 ANDN<=12 ANDP(1)=0THENP(1)=1:N=13:GOTO1265
  33. 1230 IFN>=19 ANDN<=23 ANDP(3)=0THENP(3)=1:N=23:GOTO1265
  34. 1235 IFN=24THENP(4)=1:GOTO1265
  35. 1240 IFN=25THENP(5)=1:GOTO1265
  36. 1245 IFN=27 ORN=28THENP(7)=1:N=28:GOTO1265
  37. 1250 IFN=30THENP(9)=1:GOTO1265
  38. 1255 IFN=31THENP(10)=1:GOTO1265
  39. 1260 IFN=33THENP(12)=1
  40. 1265 NEXT
  41. 1270 Z0$=Z$:F$=MID$(Z$,31,1):F=VAL(F$):S$=MID$(Z$,33,1):M$=MID$(Z$,30,1):C$=MID$(Z$,27,2)
  42. 1275 PRINT#1,"FA;";:V$=INPUT$(14,2):IFV$<>A0$THENA0$=V$:Z(0)=1:Q=6:GOSUB4000:MID$(V$(0),1)=V$
  43. 1280 IFF=0 ANDP(9)THENMN$(0)=M$:Z(0)=1
  44. 1285 IFMC$(0)<>MN$(0)THENMC$(0)=MN$(0):Z(0)=1:P=VAL(MC$(0)):GOSUB4025:MID$(V$(0),11)=MD$
  45. 1290 PRINT#1,"FB;";:V$=INPUT$(14,2):IFV$<>B0$THENB0$=V$:Z(1)=1:Q=6:GOSUB4000:MID$(V$(1),1)=V$
  46. 1295 IFF=1 ANDP(9)=1THENMN$(1)=M$
  47. 1300 IFMC$(1)<>MN$(1)THENMC$(1)=MN$(1):Z(1)=1:P=VAL(MC$(1)):GOSUB4025:MID$(V$(1),11)=MD$
  48. 1305 PRINT#1,"MR00"+C$+";";:V$=INPUT$(24,2):M$=MID$(V$,18,1)
  49. 1310 IFV$=M0$THEN1400
  50. 1315 Z(2)=1:M0$=V$:Q=10:GOSUB4000:MID$(V$(2),1)=V$:MID$(V$(2),15)=CHR$(27)+"p"+C$+CHR$(27)+"q":IFMC$(2)<>M$THENZ(2)=1:MC$(2)=M$:P=VAL(MC$(2)):GOSUB4025:MID$(V$(2),11)=MD$
  51. 1400 IFQM=1THENCLS
  52. 1405 IFP(10)=0 ANDP(12)=0 ANDP(7)=0THEN1455ELSEZ(0)=1:Z(1)=1:Z(2)=1
  53. 1410 IFNM=1THENZ(3)=1
  54. 1415 IFP(12)=0 ANDP(7)=0THEN1455
  55. 1420 IFS$="1"THEN1430ELSEY1=16:IFF$<>"2" ANDNM=1THENY2=22ELSEY2=30
  56. 1425 GOTO1440
  57. 1430 IFF$="2"THENY1=24:Y2=30:GOTO1440
  58. 1435 Y1=24:IFNM=0THENY2=38ELSEY2=30
  59. 1440 LINE(5,6)-(120,YA),0,B:LINE(5,YB)-(120,48),0,B
  60. 1445 FORN=80TO160STEP40:PRINT@N,SPACE$(20):NEXT
  61. 1450 LINE(5,6)-(120,Y1),1,B:LINE(5,Y2)-(120,48),1,B:YA=Y1:YB=Y2
  62. 1455 IFS$="1"THEN1500
  63. 1460 DATA0,1,2,1,0,2,2,0,1
  64. 1465 RESTORE1460
  65. 1470 FORN=0TOF:READW0,W1,W2:NEXT
  66. 1475 IFZ(W0)=1THENPRINT@41,CHR$(27)+"pFQ"+CHR$(27)+"q "+V$(W0)
  67. 1480 IFZ(W1)=1 ANDNM=0THENPRINT@161,"   "+V$(W1)ELSEIFZ(W1)=1 ANDNM=1THENPRINT@121,"   "+V$(W1)
  68. 1485 IFZ(W2)=1 ANDNM=0THENPRINT@204,V$(W2)ELSEIFZ(W1)=1 ANDNM=1THENPRINT@164,V$(W2)
  69. 1490 IFZ(3)=1THENPRINT@204,V$(3)
  70. 1495 GOTO1535
  71. 1500 DATA0,1,2,3,1,0,2,3,2,3,0,1
  72. 1505 RESTORE1500
  73. 1510 FORN=0TOF:READW0,W1,W2,W3:NEXT
  74. 1515 IFZ(W0)=1THENPRINT@41,CHR$(27)+"pRX"+CHR$(27)+"q "+V$(W0)
  75. 1520 IFZ(W1)=1THENPRINT@81,CHR$(27)"pTX"+CHR$(27)+"q "+V$(W1)
  76. 1525 IFZ(W2)=1 AND(F$<>"2" ANDNM=0)THENPRINT@204,V$(W2)ELSEPRINT@164,V$(W2)
  77. 1530 IFZ(W3)=1THENPRINT@204,V$(W3)
  78. 1535 IFQM=0THEN1545ELSEQM=0
  79. 1540 GOSUB4040
  80. 1545 FORN=0TO3:Z(N)=0:NEXT:RETURN
  81. 2000 PRINT#1,"AI0;";:KEYOFF
  82. 2005 A$="A)B)VFO M)em W)in ## S)plit Q)uit":ML%=2:GOSUB4155:GOSUB4215
  83. 2010 ONPGOTO2020,2020,2020,2025,2040,4035
  84. 2015 GOSUB4070:IFP=0ANDVM%=1THEN2030ELSEBEEP:GOTO2005
  85. 2020 PRINT#1,"FN"+RIGHT$(STR$(P-1),1)+";";:GOTO4035
  86. 2025 A$=RIGHT$(STR$(PQ+PM),2):IFLEFT$(A$,1)=" "THENMID$(A$,1)="0"
  87. 2030 IFLEN(A$)=1THENA$="0"+A$
  88. 2035 PRINT#1,"MC0"+A$+";"+"FN2;";:GOTO4035
  89. 2040 IFSP$="1"THENSP$="0"ELSESP$="1"
  90. 2045 IFF=2THEN2050ELSEPRINT#1,"SP"+SP$+";";:GOTO4035
  91. 2050 PRINT#1,"FN0;";:PRINT#1,"SP"+SP$+";";:PRINT#1,"FN2;";:GOTO4035
  92. 2200 WH=0:GOTO2210
  93. 2205 WH=1
  94. 2210 PRINT#1,"AI0;";:KEYOFF
  95. 2215 A$="A)B)VFO M)em W)in ## Q)uit":ML%=2:GOSUB4155:GOSUB4215
  96. 2220 Q=P:N$=A$:GOSUB4070:IFP=6THEN4035ELSEIFP=5OR(P=0 ANDVM%=0)THENBEEP:GOTO2215
  97. 2225 IFWH=1THEN2255ELSEA$="Frequency":ML%=9:GOSUB4155:IFRIGHT$(A$,1)="K" ORRIGHT$(A$,1)="k"THENA$=LEFT$(A$,1)+"."+MID$(A$,2,LEN(A$)-2)
  98. 2230 A#=VAL(A$):IFA#>30 ORA#<.03THENBEEP:GOTO2225
  99. 2235 Q$=A$:N=INSTR(1,Q$,"."):V$=STRING$(11,"0")
  100. 2240 IFN=0THENMID$(V$,6-LEN(Q$),LEN(Q$))=Q$ELSEMID$(V$,7-N)=LEFT$(Q$,N-1)
  101. 2245 IFN<>0THENMID$(V$,6)=RIGHT$(Q$,LEN(Q$)-N)
  102. 2250 GOTO2265
  103. 2255 A$="L)SB U)SB C)W F)M A)M R)TTY Q)UIT":ML%=1:GOSUB4155:P$="LUCFARQ":GOSUB4217:IFP>0THEN2260ELSEIFP=7THEN4035ELSEBEEP:GOTO2255
  104. 2260 R=P:MQ$=RIGHT$(STR$(R),1)
  105. 2265 ONQGOTO2275,2275,2295,2300
  106. 2270 IFQ=0THEN2301ELSE4035
  107. 2275 IFWH=1THEN2285ELSEIFQ=1THENPRINT#1,"FA"+V$+";";ELSEIFQ=2THENPRINT#1,"FB"+V$+";";
  108. 2280 GOTO4035
  109. 2285 MN$(Q-1)=MQ$:IFF<>Q-1THEN2290ELSEPRINT#1,"MD"+MQ$+";";:GOTO4035
  110. 2290 PRINT#1,"FN"+RIGHT$(STR$(Q-1),1)+";":PRINT#1,"MD"+MQ$+";";:PRINT#1,"FN"+F$+";";:GOTO4035
  111. 2295 N$=C$:GOTO2305
  112. 2300 N$=RIGHT$(STR$(PM+PQ),2)
  113. 2301 IFLEN(N$)=1THENN$="0"+N$
  114. 2305 IFLEFT$(N$,1)=" "THENMID$(N$,1)="0"
  115. 2310 PRINT#1,"MR00"+N$+";";:B$=INPUT$(24,2)
  116. 2315 MID$(B$,2)="W0":IFWH=1THEN2325ELSEMID$(B$,7)=V$:MID$(CN$(VAL(N$)),4)=MID$(V$,4,2)+"."+MID$(V$,6,3)+"."+MID$(V$,9,2):IFMID$(CN$(VAL(N$)),4,1)="0"THENMID$(CN$(VAL(N$)),4)=" "
  117. 2320 IFMID$(B$,18,2)="00"THENMID$(B$,18)="10"
  118. 2322 GOTO2335
  119. 2325 MID$(B$,18)=MQ$:IFVAL(MID$(B$,7,11))<30000THENMID$(B$,11)="72000000"
  120. 2330 P=VAL(MQ$):GOSUB4025:MID$(CN$(VAL(N$)),14)=MD$
  121. 2335 PRINT#1,B$;:F$=MID$(B$,10,11):GOTO2490
  122. 2400 KEYOFF:PRINT#1,"AI0;";
  123. 2405 A$="From ":GOSUB2505:ONPGOTO2415,2420,2425,2430,2405,4035
  124. 2410 GOSUB4070:IFVM%=1THEN2435ELSEBEEP:GOTO2405
  125. 2415 F$=MID$(A0$,3,11):MQ$=MC$(0):GOTO2440
  126. 2420 F$=MID$(B0$,3,11):MQ$=MC$(1):GOTO2440
  127. 2425 F$=MID$(M0$,7,11):MQ$=MID$(M0$,18,1):GOTO2440
  128. 2430 A$=STR$(PQ+PM)
  129. 2435 N=VAL(A$):GOSUB4010:F$="000"+V$+"0":A$=MID$(CN$(N),14,3):GOSUB4030:MQ$=P$
  130. 2440 A$="To ":GOSUB2505:ONPGOTO2450,2455,2460,2470,2440,4035
  131. 2445 GOSUB4070:IFVM%=1THEN2465ELSEBEEP:GOTO2440
  132. 2450 PRINT#1,"FA"+F$+";";:MN$(0)=MQ$:GOTO4035
  133. 2455 PRINT#1,"FB"+F$+";";:MN$(1)=MQ$:GOTO4035
  134. 2460 N$=C$:GOTO2475
  135. 2465 N$=A$:GOTO2475
  136. 2470 N$=STR$(PQ+PM):N$=RIGHT$(N$,LEN(N$)-1)
  137. 2475 IFLEN(N$)=1THENN$="0"+N$
  138. 2480 PRINT#1,"MW00"+N$+F$+MQ$+"0"+SPACE$(4)+";";
  139. 2485 P=VAL(MQ$):GOSUB4025:V$=F$:Q=4:GOSUB4000:CN$(VAL(N$))=N$+" "+V$+" "+MD$+" U"
  140. 2490 IF(VAL(N$)<PQ ORVAL(N$)>PQ+4)THEN4035
  141. 2495 IFVAL(N$)=PM+PQTHENPRINT@61+(VAL(N$)-PQ)*40,CHR$(27)+"p"+CN$(VAL(N$))+CHR$(27)+"q"ELSEPRINT@61+(VAL(N$)-PQ)*40,CN$(VAL(N$))
  142. 2500 GOTO4035
  143. 2505 A$=A$+"A)B)VFO M)em W)in ## Q)uit":ML%=2:GOSUB4155:GOSUB4215:RETURN
  144. 2600 KEYOFF:PRINT#1,"AI0;";
  145. 2605 A$="Window beginning memory number":ML%=2:GOSUB4155:IFVAL(A$)<0ORVAL(A$)>85THENBEEP:GOTO2605
  146. 2610 PQ=VAL(A$):PM=0:IFPQ<0THENPQ=0ELSEIFPQ>85THENPQ=85
  147. 2625 GOSUB4050:GOTO4035
  148. 2800 RETURN
  149. 3000 RETURN
  150. 3200 OPEN"MEMFLE.DO"FOROUTPUTAS3
  151. 3210 FORN=0TO89:PRINT#3,CN$(N):NEXT
  152. 3215 QT%=1:RETURN
  153. 4000 V$=MID$(V$,Q,2)+"."+MID$(V$,Q+2,3)+"."+MID$(V$,Q+5,2):IFLEFT$(V$,1)="0"THENMID$(V$,1)=" "
  154. 4005 RETURN
  155. 4010 V$=MID$(CN$(N),4,2)+MID$(CN$(N),7,3)+MID$(CN$(N),11,2)
  156. 4015 IFLEFT$(V$,1)=" "THENMID$(V$,1)="0"
  157. 4020 RETURN
  158. 4025 A$="   LSBUSBCW FM AM FSK":MD$=MID$(A$,3*P+1,3):RETURN
  159. 4030 N=INSTR(1,"   LSBUSBCW FM AM FSK",A$):P=N/3:P$=RIGHT$(STR$(P),1):RETURN
  160. 4035 PRINT@280,CHR$(27)+"K"+KY$;:PRINT#1,"AI1;";:RETURN
  161. 4040 LINE(124,6)-(235,48),1,B
  162. 4045 KY$="Slct Freq Mode Copy Wndw File TRtg Quit":PRINT@280,KY$;:R=0
  163. 4050 FORN=PQTOPQ+4
  164. 4055  IFN<>PQ+PMTHENPRINT@61+40*(N-PQ),CN$(N)ELSEPRINT@61+40*(N-PQ),CHR$(27)+"p"+CN$(N)+CHR$(27)+"q"
  165. 4060 NEXT
  166. 4065 RETURN
  167. 4070 IFA$="0"ORA$="00"OR(VAL(A$)>=1ANDVAL(A$)<90)THENVM%=1ELSEVM%=0
  168. 4075 RETURN
  169. 4080 FORN=0TO89
  170. 4085  T$=STR$(T):T$=RIGHT$(T$,LEN(T$)-1):IFLEN(T$)=1THENT$="0"+T$
  171. 4090  PRINT#1,"MR00"+T$+";";:V$=INPUT$(24,2)
  172. 4095  P=VAL(MID$(V$,18,1)):GOSUB4025:IFMID$(V$,19,1)="0"THENL$="U"ELSEL$="L"
  173. 4100  Q=10:GOSUB4000
  174. 4105  CN$(N)=T$+" "+V$+" "+MD$+" "+L$
  175. 4110  T=T+1
  176. 4115 NEXT
  177. 4120 RETURN
  178. 4125 FORN=0TO89
  179. 4130  GOSUB4010:A$=MID$(CN$(N),14,3):SN=N:GOSUB4030:N=SN
  180. 4135  T$=STR$(N):T$=RIGHT$(T$,LEN(T$)-1):IFLEN(T$)=1THENT$="0"+T$
  181. 4140  PRINT#1,"MW00"+T$+"000"+V$+"0"+P$+"00000;";
  182. 4145 NEXT
  183. 4150 RETURN
  184. 4155 PRINT@280,CHR$(27)+"M";:PRINT@280," "A$+"? "+CHR$(27)+"P";:A1$=""
  185. 4160 A1$=""
  186. 4165 A$=INKEY$:IFA$=""THEN4165
  187. 4170 IFA$=CHR$(13)THEN4205ELSEIF(ASC(A$)<>8AND(ASC(A$)<46ORASC(A$)>122OR(ASC(A$)<97ANDASC(A$)>90)OR(ASC(A$)>58ANDASC(A$)<65)ORASC(A$)=47))THENBEEP:GOTO4165
  188. 4175 IFA$=CHR$(08)ANDLEN(A1$)=0THENBEEP:GOTO4165
  189. 4180 IFA$<>CHR$(08)THEN4190ELSEIFLEN(A1$)>1THENA1$=LEFT$(A1$,LEN(A1$)-1)ELSEA1$=""
  190. 4185 PRINTCHR$(08)+" "+CHR$(08);:GOTO4165
  191. 4190 IFLEN(A1$)=ML%THENBEEP:GOTO4165
  192. 4195 PRINTA$;:A1$=A1$+A$:GOTO4165
  193. 4200 PRINTCHR$(27)+"Q";
  194. 4205 IFLEN(A1$)=0THENA$="Q"ELSEA$=A1$
  195. 4210 PRINTCHR$(27)+"Q";:RETURN
  196. 4215 P$="ABMWSQ"
  197. 4217 P=0
  198. 4220 FORN=1TOLEN(P$)
  199. 4225  IFMID$(P$,N,1)=A$ ORCHR$(ASC(MID$(P$,N,1))+ASC(" "))=A$THENP=N
  200. 4230 NEXT
  201. 4235 RETURN
  202. 4240 CM$="MR00"
  203. 4245 FORN=0TO9:PRINT#1,CM$+"0"+RIGHT$(STR$(N),1)+";";:CN$(N)=INPUT$(24,2):NEXT
  204. 4250 FORN=10TO89:PRINT#1,CM$+RIGHT$(STR$(N),2)+";";:CN$(N)=INPUT$(24,2):NEXT
  205. 4255 BEEP:RETURN
  206. 4260 FORN=0TO89
  207. 4265  N$=MID$(CN$(N),5,2)+" ":V$=MID$(CN$(N),10,8):V$=LEFT$(V$,2)+"."+MID$(V$,3,3)+"."+MID$(V$,6,2)+" ":IFLEFT$(V$,1)="0"THENMID$(V$,1)=" "
  208. 4270  P=VAL(MID$(CN$(N),18,1)):GOSUB4025:IFMID$(CN$(N),19,1)="1"THENLK$=" L"ELSELK$=" U"
  209. 4275  CN$(N)=N$+V$+MD$+LK$
  210. 4280 NEXT
  211. 4285 BEEP:RETURN
  212. 4290 CLS:IFNOT(ERL=1000ANDERR=52)THEN4315
  213. 4295 PRINT@80,"UNINSTALLED: NOW READING RADIO MEMORIES";:BEEP:BEEP:BEEP
  214. 4300 OPEN"MEMFLE.DO"FOROUTPUTAS3:GOSUB4240:GOSUB4260
  215. 4305 FORN=0TO89:PRINT#3,CN$(N):NEXT
  216. 4310 CLOSE3:RESUME1005
  217. 4315 PRINT@80,"SYSTEM ERROR"+STR$(ERR)+" IN LINE"+STR$(ERL):STOP
  218.